package com.itheima.dao;

import com.itheima.po.InsertDept;
import com.itheima.po.UpdateDept;
import com.itheima.pojo.Dept;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface DeptMapper {
    /**
     * 查询所有部门信息
     *
     * @return 部门集合
     */
    @Select("select id,name,update_time from dept")
    List<Dept> selectAll();

    /**
     * 删除部门的方法
     *
     * @param id
     * @return
     */
    @Delete("delete from dept where id = #{id}")
    int deleteById(Integer id);

    /**
     * 添加部门
     *
     * @param dept
     * @return
     */
    @Insert("insert into dept(name,create_time,update_time) values(#{dept.name},now(),now())")
    int insert(@Param("dept") Dept dept);

    /**
     * 根据id查询部门
     *
     * @param id
     * @return
     */
    @Select("select id,name,update_time from dept where id = #{id}")
    Dept selectById(Integer id);

    /**
     * 修改部门
     */
    @Update("update dept set name = #{dept.name},update_time = now() where id = #{dept.id}")
    int update(@Param("dept") Dept dept);

    /**
     * 根据部门名称查询部门
     */
    @Select("select id,name from dept where name = #{name}")
    Dept selectByName(String name);

    /**
     * 根据部门id批量删除部门
     */
    int deleteByIds(Integer[] ids);

    /**
     * 批量添加部门
     */
    int insertBatch(@Param("depts") List<Dept> depts);
}
